package com.app.micaihu.custom.view;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;

import com.app.micaihu.R;

/**
 * 通用的展示加载数据时的等待控件
 * 转圆圈
 * @author linkai
 * 
 */
public class LoadProssView extends FrameLayout {

	private View errorPage;// 网络错误
	private View loadPage;// 正在加载
	private TextView errorText;// 网络错误提示

	public LoadProssView(Context context, AttributeSet attrs) {
		super(context, attrs);
		initView(context);
	}

	public LoadProssView(Context context) {
		super(context);
		initView(context);
	}

	/**
	 * 初始化布局
	 * 
	 * @param context
	 */
	private void initView(Context context) {
		inflate(context, R.layout.layout_public_nonet_proess, this);
		
		errorPage = findViewById(R.id.loadpross_error_page);
		loadPage = findViewById(R.id.loading_page);
		errorText = (TextView) findViewById(R.id.error_text);
	}

	/**
	 * 设置重新加载的事件
	 * 
	 * @param onclick
	 */
	public void setErrorPageClickListener(OnClickListener onclick) {
		if (errorPage != null) {
			this.errorPage.setOnClickListener(onclick);
		}
	}

	/**
	 * 展示正在加载页面
	 */
	public void showLoadPage() {
		if(loadPage == null || errorPage == null){
			return;
		}
		loadPage.setVisibility(View.VISIBLE);
		errorPage.setVisibility(View.GONE);

	}

	/**
	 * 展示网络错误页面
	 */
	public void showErrorPage() {
		if(loadPage == null || errorPage == null){
			return;
		}
		errorPage.setVisibility(View.VISIBLE);
		loadPage.setVisibility(View.GONE);
	}

	/**
	 * 展示自定义文字的错误页面
	 * 
	 * @param errorStr
	 */
	public void showErrorPage(String errorStr) {
		if(loadPage == null || errorPage == null || errorText == null){
			return;
		}
		errorText.setText(errorStr);
		errorPage.setVisibility(View.VISIBLE);
		loadPage.setVisibility(View.GONE);
		
	}

	/**
	 * 加载成功
	 */
	public void showSuccess() {
		if (getVisibility() != View.GONE) {
			setVisibility(View.GONE);
		}
	}
}
